//! \file DD_Races.c
//! \brief TODO: Document
// -----------------------------------------------------------------------------
//! This program is free software; you can redistribute it and/or
//! modify it under the terms of the GNU General Public License
//! as published by the Free Software Foundation; either version 2
//! of the License, or (at your option) any later version.
//!
//! This program is distributed in the hope that it will be useful,
//! but WITHOUT ANY WARRANTY; without even the implied warranty of
//! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//! GNU General Public License for more details.
//!
//! You should have received a copy of the GNU General Public License
//! along with this program; if not, write to the Free Software Foundation,
//! Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
// -----------------------------------------------------------------------------

#include "DdRaces.h"

// =====[ Local Definitions ]===================================================

// =====[ Local DataTypes ]=====================================================

// =====[ Local Variables ]=====================================================

static const tDdAbilities NullAbility = { 0, 0, 0, 0, 0, 0 };

static const tDdAbilities RaceAbilities[eNUMBER_OF_DD_RACES] =
{
//  Str   Dex   Con   Int   Wis   Cha
  {   0,    0,    0,    0,    0,    0    }, // eDD_RACE_HUMAN
  {   0,    0,    2,    0,    0,   -2    }, // eDD_RACE_DWARF
  {   0,    2,   -2,    0,    0,    0    }, // eDD_RACE_ELF
  {  -2,    0,    2,    0,    0,    0    }, // eDD_RACE_GNOME
  {   0,    0,    0,    0,    0,    0    }, // eDD_RACE_HALF_ELF
  {   2,    0,    0,   -2,    0,   -2    }, // eDD_RACE_HALF_ORC
  {  -2,    2,    0,    0,    0,    0    }, // eDD_RACE_HALFLING
};

// =====[ Local Functions ]=====================================================

// =====[ Local Implementation ]================================================

// =============================================================================
// Implement: DdRaces_GetAbilityAdjustments
// -----------------------------------------------------------------------------
tDdAbilities DdRaces_GetAbilityAdjustments(eDD_Race Race)
{
  tDdAbilities Abilities;

  // Validate our arguments.
  if (Race >= eNUMBER_OF_DD_RACES) return (NullAbility);

  // Finally, return the ability adjustments.
  return (RaceAbilities[Race]);
}

